1. Field of the Invention
The present invention relates to a disk array apparatus comprising a plurality of disk drives, more specifically to a disk array apparatus which can restore data in a very efficient way if one of the disk drives of the disk array apparatus fails. The present invention also relates to a data restoring method used in the disk array apparatus.
2. Description of the Related Art
Various types of disk array apparatuses comprising a disk array (a typical example of which is a RAID [Redundant Array of Inexpensive Disks, Redundant Array of Independent Disks]) have been developed. In general, a disk array is accessed in units of one physical stripe. U.S. Pat. Nos. 6,219,752 and 6,233,648 (hereinafter referred to as “prior art documents”) disclose a high-speed write method in which data is written in a disk array apparatus. In the write method, data to be updated, which is stored in an area corresponding to an update (rewrite) command issued by a host computer, is not rewritten. Instead, update data is stored in a write buffer. When a predetermined amount of update data has been stored in the write buffer, they are collectively recorded in an area which is different from the area where the data to be updated is stored, and which is on one of the disk drives of the disk array. This kind of write operation is sometimes called as a delayed write operation.
In general, if one of the disk drives of the disk array fails, the disk array has to be reconstructed using a replacement disk drive (a spare disk drive). To enable this reconstruction, the disk array generally has a redundancy disk configuration known as RAID. Therefore, if one of the disk drives of the disk array having the redundancy disk configuration fails, the redundancy disk configuration has to be reconstructed quickly. For this quick reconstruction, the conventional disk array apparatuses that use the high-speed write method disclosed in the prior art documents restore data as described below, in response to the failure of one disk drive. That is, all physical stripes on the disk array are sequentially read. Then, in units of one physical stripe, data in a logical block and parity data are restored. The resultant data is written in a new disk array including the spare disk drive.
The conventional data restoring method, however, is disadvantageous in that the time needed for the data restoration is long depending upon the data capacity of the disk array. This is a problem since future disk arrays are expected to have an increased capacity.
Jpn. Pat. Appln. KOKAI Publication No. 11-24849 does not disclose such a high-speed write method as described above, but shows a disk array apparatus which restores data recorded in a disk array. In the data restoring method shown in the Japanese reference, data of the disk array is restored based on a file management table the operating system (OS) uses. The management table is used by the OS to determine whether the logical data in the disk array apparatus is valid or invalid and to manage a free area in the disk array apparatus. Where the restoring method using the file management table is applied to the disk array apparatus, the OS has to be provided with an interface with reference to the disk array apparatus. In addition, the internal structures of the OS and file system must be known. Furthermore, different disk array apparatuses must be prepared for different OS's, and the compatibility among the disk arrays of different OS's must be taken into consideration.